{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "536715fe-e842-4f3b-99a6-0598b2fd6584",
   "metadata": {},
   "source": [
    "# Structured Data Extraction: Social Determinants of Health from Clinical Notes with Groq API's Json Mode"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67d6ce26-dfa7-4fae-bbd7-68fdc79c45e6",
   "metadata": {},
   "source": [
    "Since the dawn of the Electronic Health Record, deriving meaningful insights about the social determinants of health of a patient population has been the holy grail of healthcare analytics. While discrete clinical data (vitals, lab results, diagnoses, etc) is well understood, social determinants - things like financial insecurity, which can determine patient outcomes and barriers to care as much as the patient's clinical chart - are often hidden in clinical notes and unused by analytics departments. While some providers code social determinants using [Z codes](https://www.cms.gov/files/document/zcodes-infographic.pdf), these are often too inconsistently documented and many risk models seeking to add a social determinant score will simply default to using zip code as a crude proxy. With the emergence of Large Language Models, AI has the ability to extract and structure meaningful insights from free-text clinical notes at scale, enabling more effective patient outreach, better risk modeling and a more robust understanding of a patient population as a whole."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d6cf8245-7e56-45bd-a7d1-2d17b39acc5f",
   "metadata": {},
   "source": [
    "This notebook shows how we can use Groq API's [JSON mode](https://console.groq.com/docs/text-chat#json-mode-object-object) feature to extract social determinants of health from fake clinical notes, structure them into a neat table that can be used for analytics and load them into [BigQuery](https://cloud.google.com/bigquery). With JSON mode, we can return structured data from the chat completion in a pre-defined format, making it a great feature for structuring unstructrued data. We will read in each note, ask the LLM to determine if certain social determinant features are met, output structured data and load it into a database to be incorporated with the rest of our clinical data marts."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08fc3ceb-935c-47dd-a13b-7c63c36dbf3a",
   "metadata": {},
   "source": [
    "### Setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "25b843f4-cbd0-443d-ad2b-fe1aab6ae4a6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import packages\n",
    "from groq import Groq\n",
    "import pandas as pd\n",
    "import os\n",
    "from IPython.display import Markdown\n",
    "import json\n",
    "from google.cloud import bigquery\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c20ccfc5-ad0a-4d79-86ce-1db248b31c3e",
   "metadata": {},
   "source": [
    "This code block loads in clinical notes from [our repository](https://github.com/groq/groq-api-cookbook/json-mode-social-determinants-of-health/clinical_notes) and displays the first note. As you can see, this hypothetical patient has quite a few notable social determinants of health that contribute to their health outcomes and treatment:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7801227a-a0e9-4a08-891a-340cc10689ea",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "**Date:** March 28, 2024\n",
       "\n",
       "**Patient:** David Smith, 42 years old\n",
       "\n",
       "**MRN:** 00456321\n",
       "\n",
       "**Chief Complaint:** \"I've been feeling really tired lately, more than usual.\"\n",
       "\n",
       "**History of Present Illness:** The patient is a 42-year-old who presents with a 3-week history of increased fatigue, decreased energy, and occasional headaches. The patient reports struggling with sleep due to stress from work and personal life. The patient is currently working two part-time jobs but still finds it hard to make ends meet, indicating financial stress. They express concern over the cost of medications and healthcare visits.\n",
       "\n",
       "**Past Medical History:** Type 2 Diabetes Mellitus, Hypertension\n",
       "\n",
       "**Social History:**\n",
       "The patient juggles two jobs to make ends meet, one at a local retail store and another in a fast-food chain, neither offering full-time hours or benefits. Despite the long hours, the patient mentions financial difficulties, especially with covering rent and providing. They share an apartment with three others in an area described as 'not the safest,' due to recent break-ins and a noticeable police presence. Meals are often missed or minimal, as the patient tries to stretch their budget, sometimes seeking help from local food banks when things get particularly tight.\n",
       "\n",
       "Educationally, the patient completed high school but hasn't pursued further studies, citing lack of funds and the immediate need to support their family after graduation. They rely on buses and trains for transportation, which complicates timely access to healthcare, often causing delays or missed appointments. Socially, the patient admits to feeling isolated, with most of their family living out of state after their divorce and a personal life that has been 'on hold' due to work and financial pressures. They have a basic health insurance plan with high co-payments, which has led to skipping some recommended medical tests and treatments.\n",
       "\n",
       "**Review of Systems:** Denies chest pain, shortness of breath, or fever. Reports occasional headaches.\n",
       "\n",
       "**Physical Examination:**\n",
       "- General: Appears tired but is alert and oriented.\n",
       "- Vitals: BP 142/89, HR 78, Temp 98.6°F, Resp 16/min\n",
       "\n",
       "**Assessment/Plan:**\n",
       "- Continue to monitor blood pressure and diabetes control.\n",
       "- Discuss affordable medication options with a pharmacist.\n",
       "- Refer to a social worker to address food security, housing concerns, and access to healthcare services.\n",
       "- Encourage the patient to engage with community support groups for social support.\n",
       "- Schedule a follow-up appointment in 4 weeks or sooner if symptoms worsen.\n",
       "\n",
       "**Comments:** The patient's health concerns are compounded by socioeconomic factors, including employment status, housing stability, food security, and access to healthcare. Addressing these social determinants of health is crucial for improving the patient's overall well-being.\n"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Define the directory path\n",
    "folder_path = 'clinical_notes/'\n",
    "\n",
    "# List all files in the directory\n",
    "file_list = os.listdir(folder_path)\n",
    "text_files = sorted([file for file in file_list if file.endswith('.txt')])\n",
    "\n",
    "with open(os.path.join(folder_path, text_files[0]), 'r') as file:\n",
    "    clinical_note = file.read()\n",
    "\n",
    "display(Markdown(clinical_note))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "589d5075-8ffe-4fae-ac15-db8578229209",
   "metadata": {},
   "source": [
    "### Define System and User Prompts"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e98d9d36-fcaf-44b8-abb8-7aaa5e12a4ee",
   "metadata": {},
   "source": [
    "Crafting clear and effective prompts is crucial for generating valid LLM responses. In our case, we've defined the exact JSON schema for our social determinants of health table we expect the LLM to output and are including it in the system prompt. Then in the user prompt, we will include the entire clinical note in the context window."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "aa7ee55f-f7f4-4cad-a5ed-7af74c44cac3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define system prompt (note: system prompt must contain \"JSON\" in it)\n",
    "system_prompt = '''\n",
    "You are a medical coding API specializing in social determinants of health that responds in JSON.\n",
    "Your job is to extract structured SDOH data from an unstructured clinical note and output the structured data in JSON.\n",
    "The JSON schema should include:\n",
    "  {\n",
    "    \"employment_status\": \"string (categorical: 'Unemployed', 'Part-time', 'Full-time', 'Retired')\",\n",
    "    \"financial_stress\": \"boolean (TRUE if the patient mentions financial difficulties)\",\n",
    "    \"housing_insecurity\": \"boolean (TRUE if the patient does not live in stable housing conditions)\",\n",
    "    \"neighborhood_unsafety\": \"boolean (TRUE if the patient expresses concerns about safety)\",\n",
    "    \"food_insecurity\": \"boolean (TRUE if the patient does not have reliable access to sufficient food)\",\n",
    "    \"education_level\": \"string (categorical: 'None', 'High School', 'College', 'Graduate')\",\n",
    "    \"transportation_inaccessibility\": \"boolean (TRUE if the patient does not have reliable transportation to healthcare appointments)\",\n",
    "    \"social_isolation\": \"boolean (TRUE if the patient mentions feeling isolated or having a lack of social support)\",\n",
    "    \"health_insurance_inadequacy\": (boolean: TRUE if the patient's health insurance is insufficient),\n",
    "    \"skipped_care_due_to_cost\": \"boolean (TRUE if the patient mentions skipping medical tests or treatments due to cost)\",\n",
    "    \"marital_status\": \"string (categorical: 'Single', 'Married', 'Divorced', 'Widowed')\",\n",
    "    \"language_barrier\": \"boolean (TRUE if the patient has language barriers to healthcare access)\"\n",
    "  }\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "74d387ec-eced-4364-b285-f039e1898a70",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define user prompt template\n",
    "user_prompt_template = '''\n",
    "Use information from following clinical note to construct the proper JSON output:\n",
    "\n",
    "{clinical_note}\n",
    "'''"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c1f156f-2b89-4694-841a-fe9e535786ba",
   "metadata": {},
   "source": [
    "### Executing Chat Completions with JSON Mode "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "487b65b1-2df4-452d-a3eb-f4581c2cb1ac",
   "metadata": {},
   "source": [
    "Now that we have our notes and our prompts, let's try running a Groq chat completion with JSON mode enabled on the first clinical note to see if the speedy ```llama3-8b-8192``` model can correctly identify this patient's social determinants. Note that you will need a Groq API Key to proceed and can create an account [here](https://console.groq.com/) to generate one for free:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "32b4c870-9e85-495a-bc6d-63b2a09cdf5e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{\n",
      "  \"employment_status\": \"Part-time\",\n",
      "  \"financial_stress\": true,\n",
      "  \"housing_insecurity\": true,\n",
      "  \"neighborhood_unsafety\": true,\n",
      "  \"food_insecurity\": true,\n",
      "  \"education_level\": \"High School\",\n",
      "  \"transportation_inaccessibility\": true,\n",
      "  \"social_isolation\": true,\n",
      "  \"health_insurance_inadequacy\": true,\n",
      "  \"skipped_care_due_to_cost\": true,\n",
      "  \"marital_status\": \"Divorced\",\n",
      "  \"language_barrier\": false\n",
      "}\n"
     ]
    }
   ],
   "source": [
    "# Establish client with GROQ_API_KEY environment variable\n",
    "client = Groq(api_key=os.getenv('GROQ_API_KEY'))\n",
    "model = \"llama3-8b-8192\"\n",
    "\n",
    "# Create chat completion object with JSON response format\n",
    "chat_completion = client.chat.completions.create(\n",
    "    messages = [\n",
    "        {\n",
    "            \"role\": \"system\",\n",
    "            \"content\": system_prompt\n",
    "        },\n",
    "        {\n",
    "            \"role\": \"user\",\n",
    "            \"content\": user_prompt_template.format(clinical_note=clinical_note),\n",
    "        }\n",
    "    ],\n",
    "    model = model,\n",
    "    response_format = {\"type\": \"json_object\"} # Add this response format to configure JSON mode\n",
    ")\n",
    "\n",
    "social_determinants_json_string = chat_completion.choices[0].message.content\n",
    "print(social_determinants_json_string)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5bac117b-2fc0-4853-8511-06ead4ea3731",
   "metadata": {},
   "source": [
    "Looks good! The patient does in fact work part time, is divorced and has expressed concerns pertaining their financial, housing and transportation situations, food insecurity, social isolation and healthcare costs. They do not have a language barrier.\n",
    "\n",
    "Now, let's wrap this in a function and apply it to the rest of our clinical notes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "986d26a7-0908-42da-b13c-cf0af1880731",
   "metadata": {},
   "outputs": [],
   "source": [
    "def extract_sdoh_json(system_prompt,user_prompt,model):\n",
    "    \n",
    "    # Establish client with GROQ_API_KEY environment variable\n",
    "    client = Groq(api_key=os.getenv('GROQ_API_KEY'))\n",
    "    \n",
    "    # Create chat completion object with JSON response format\n",
    "    chat_completion = client.chat.completions.create(\n",
    "        messages = [\n",
    "            {\n",
    "                \"role\": \"system\",\n",
    "                \"content\": system_prompt\n",
    "            },\n",
    "            {\n",
    "                \"role\": \"user\",\n",
    "                \"content\": user_prompt_template.format(clinical_note=clinical_note),\n",
    "            }\n",
    "        ],\n",
    "        model = model,\n",
    "        response_format = {\"type\": \"json_object\"} # Add this response format to configure JSON mode\n",
    "    )\n",
    "    \n",
    "    social_determinants_json_string = chat_completion.choices[0].message.content\n",
    "\n",
    "    # Return json object of the chat output\n",
    "    return json.loads(social_determinants_json_string)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f202c6f1-8d63-4274-b4dc-09dbea2ac5e6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mrn</th>\n",
       "      <th>employment_status</th>\n",
       "      <th>financial_stress</th>\n",
       "      <th>housing_insecurity</th>\n",
       "      <th>neighborhood_unsafety</th>\n",
       "      <th>food_insecurity</th>\n",
       "      <th>education_level</th>\n",
       "      <th>transportation_inaccessibility</th>\n",
       "      <th>social_isolation</th>\n",
       "      <th>health_insurance_inadequacy</th>\n",
       "      <th>skipped_care_due_to_cost</th>\n",
       "      <th>marital_status</th>\n",
       "      <th>language_barrier</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00456321</td>\n",
       "      <td>Part-time</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>High School</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>Divorced</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00567289</td>\n",
       "      <td>Full-time</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>Bachelor's</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>Single</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>00678934</td>\n",
       "      <td>Retired</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>College</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>Widowed</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>00785642</td>\n",
       "      <td>Full-time</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>College</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>Married</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>00893247</td>\n",
       "      <td>Unemployed</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>High School</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>Single</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        mrn employment_status  financial_stress  housing_insecurity  \\\n",
       "0  00456321         Part-time              True                True   \n",
       "1  00567289         Full-time              True               False   \n",
       "2  00678934           Retired             False               False   \n",
       "3  00785642         Full-time             False               False   \n",
       "4  00893247        Unemployed              True                True   \n",
       "\n",
       "   neighborhood_unsafety  food_insecurity education_level  \\\n",
       "0                   True             True     High School   \n",
       "1                  False            False      Bachelor's   \n",
       "2                  False            False         College   \n",
       "3                  False            False         College   \n",
       "4                   True             True     High School   \n",
       "\n",
       "   transportation_inaccessibility  social_isolation  \\\n",
       "0                            True              True   \n",
       "1                           False              True   \n",
       "2                            True              True   \n",
       "3                           False             False   \n",
       "4                            True              True   \n",
       "\n",
       "   health_insurance_inadequacy  skipped_care_due_to_cost marital_status  \\\n",
       "0                         True                      True       Divorced   \n",
       "1                        False                     False         Single   \n",
       "2                        False                     False        Widowed   \n",
       "3                        False                     False        Married   \n",
       "4                         True                      True         Single   \n",
       "\n",
       "   language_barrier  \n",
       "0             False  \n",
       "1             False  \n",
       "2             False  \n",
       "3             False  \n",
       "4              True  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Total latency: 4s\n",
    "\n",
    "model = \"llama3-8b-8192\"\n",
    "\n",
    "patients_data = []\n",
    "# Loop through each patient clinical note, extract structured SDOH and compile a list of JSON objects\n",
    "for file_name in text_files:\n",
    "    with open(os.path.join(folder_path, file_name), 'r') as file:\n",
    "        clinical_note = file.read()\n",
    "        user_prompt = user_prompt_template.format(clinical_note=clinical_note)\n",
    "        social_determinants_json = extract_sdoh_json(system_prompt,user_prompt,model)\n",
    "        social_determinants_json['mrn'] = file_name[:-4] # The name of the file is the patient's MRN \n",
    "        patients_data.append(social_determinants_json)\n",
    "\n",
    "# Flatten the results into a dataframe\n",
    "flattened_data = []\n",
    "for patient in patients_data:\n",
    "    flattened_data.append({'mrn': patient['mrn'],\n",
    "                           'employment_status': patient['employment_status'],\n",
    "                           'financial_stress': patient['financial_stress'],\n",
    "                           'housing_insecurity': patient['housing_insecurity'],\n",
    "                           'neighborhood_unsafety': patient['neighborhood_unsafety'],\n",
    "                           'food_insecurity': patient['food_insecurity'],\n",
    "                           'education_level': patient['education_level'],\n",
    "                           'transportation_inaccessibility': patient['transportation_inaccessibility'],\n",
    "                           'social_isolation': patient['social_isolation'],\n",
    "                           'health_insurance_inadequacy': patient['health_insurance_inadequacy'],\n",
    "                           'skipped_care_due_to_cost': patient['skipped_care_due_to_cost'],\n",
    "                           'marital_status': patient['marital_status'],\n",
    "                           'language_barrier': patient['language_barrier']})\n",
    "\n",
    "\n",
    "sdoh_df = pd.DataFrame(flattened_data)\n",
    "\n",
    "sdoh_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8394734d-7ff5-41ad-a008-a4b6b33dd1a9",
   "metadata": {},
   "source": [
    "Nice! In just 4 seconds we've parsed through five clinical notes, extracted discrete features and structured them into a neat table. That low latency is important for scaling up, and is why Groq's best-in-class speed makes it an ideal provider for this type of task - in a healthcare network with many providers, it would allow us to process clinical notes for 900 patients in an hour."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ed70669-9461-4c79-876e-51484d5ee9dd",
   "metadata": {},
   "source": [
    "### Analyzing Structured Data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98b23483-82d7-4cb5-ad2a-762d11103be6",
   "metadata": {},
   "source": [
    "Now that our Social Determinants of Health are stored in a neat, structured format, we can analyze them much easier than when they're trapped in unstructured clinical notes. Here is a bar plot showing the percent of the patient population impacted by each social determinant - but with more data we could do far more advanced analyses such as showing which determinants are most correlated with each other, or which ones are most predictive of various chronic conditions or negative health outcomes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "13815785-c003-4046-8d30-1266ad387aef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA00AAAKxCAYAAACPJEf6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAADvQUlEQVR4nOzdZ3gU5fv28XMTQhJKQm/Sa+hVqjSlSFMERBClCvyUooCCKF2RIoqNIkqxoQgKYqMrgnQBG4h0kI6U0BJCcj0veDL/LIE1gSwbku/nODjIzs7OXnvP7OycU+5xmZkJAAAAAHBdfr4uAAAAAACSM0ITAAAAAHhAaAIAAAAADwhNAAAAAOABoQkAAAAAPCA0AQAAAIAHhCYAAAAA8IDQBAAAAAAeEJoAAAAAwANCEwAkA4sWLVKFChUUFBQkl8ulM2fO+LSeWbNmyeVyad++fT6t43YpWLCgOnfunOBxmzdv7t2CktiPP/4ol8ulH3/8MdGvHTFihFwuV9IXlYIkZvkBcGciNAEpTOzGbuy/oKAgFS9eXL1799axY8d8Xd4t27Ztm0aMGJGiNub//fdftW3bVsHBwZo0aZI++ugjpU+f/rrjJvX8feWVV7RgwYJb/AQ35+LFixoxYsRNbch7mzeXs/Pnz2v48OEqU6aM0qdPr6xZs6pChQp6+umndfjw4SR/v9ulc+fObstmhgwZVLhwYbVp00ZffPGFYmJibnra3333nUaMGJF0xaZghw8f1ogRI7R161ZflwKkKGl8XQAA7xg1apQKFSqkiIgIrV69WlOmTNF3332nP/74Q+nSpfN1eTdt27ZtGjlypOrVq6eCBQv6upwksXHjRp07d04vvfSSGjRokKDXJNX8feWVV9SmTRu1bNnSbfjjjz+udu3aKTAwMDEfJVEuXryokSNHSpLq1avntfdJiB07dsjP7//2I3prOYuKilKdOnX0119/qVOnTurTp4/Onz+vP//8U7Nnz9ZDDz2kPHnyJNn7xapTp44uXbqktGnTJvm04woMDNT7778vSbp06ZL279+vr7/+Wm3atFG9evX01VdfKSQkJNHT/e677zRp0qRkG5yuXX586fDhwxo5cqQKFiyoChUq+LocIMUgNAEpVJMmTVSlShVJ0hNPPKGsWbPq9ddf11dffaX27dvf0rQvXrx4Rwev5Ob48eOSpEyZMiX4Nd6cv5Lk7+8vf3//W57OncKb4TCuBQsWaMuWLfrkk0/06KOPuj0XERGhy5cve+V9/fz8FBQU5JVpx5UmTRo99thjbsNefvlljR07VoMHD1b37t01Z84cr9eREGamiIgIBQcH3/K0btfyA8B3ksduEQBed++990qS9u7d6wz7+OOPVblyZQUHBytLlixq166dDh486Pa6evXqqUyZMvrll19Up04dpUuXTi+88IKkqxt5I0aMUPHixRUUFKTcuXOrVatW2r17t/P6mJgYvfHGGypdurSCgoKUM2dO9ezZU6dPn3Z7n9jrRFavXq2qVasqKChIhQsX1ocffuiMM2vWLD388MOSpPr16zunAcWe3vXVV1+pWbNmypMnjwIDA1WkSBG99NJLio6OjtcekyZNUuHChRUcHKyqVatq1apVqlevXrwjHpGRkRo+fLiKFi2qwMBA5cuXTwMHDlRkZGSC2n3u3LlOG2fLlk2PPfaYDh065Na+nTp1kiTdfffdcrlcN3VtxLXzd8KECapZs6ayZs2q4OBgVa5cWfPmzXN7jcvl0oULF/TBBx84bRn73je6pun7779X7dq1lT59emXMmFHNmjXTn3/+6TZO586dlSFDBh06dEgtW7ZUhgwZlD17dj377LPOvNi3b5+yZ88uSRo5cqTz/rFHEo4ePaouXboob968CgwMVO7cufXggw96PF1u4cKFcrlc+u2335xhX3zxhVwul1q1auU2bsmSJfXII484j+Nek/Jfy1ksT8vqjcR+N2rVqhXvuaCgoHhHYVasWOG0d6ZMmfTggw9q+/bt8V576NAhdevWzVn2CxUqpCeffNIJYde7pmnVqlV6+OGHlT9/fmfZ7tevny5duvSfnyOxnn/+eTVq1Ehz587V33//7fbcfy1TnTt31qRJkyTJ7fS/WIldxyxevFhVqlRRcHCw3n33XadtPv/8c40cOVJ33XWXMmbMqDZt2ujs2bOKjIzUM888oxw5cihDhgzq0qVLvO//tdc0xX5/fv75Z/Xv31/Zs2dX+vTp9dBDD+nEiRNur03oeit2Xbxt2zbVr19f6dKl01133aXx48c74/z444+6++67JUldunRx2mrWrFmSpJ07d6p169bKlSuXgoKClDdvXrVr105nz55NyGwEUjWONAGpROzGWtasWSVJo0eP1tChQ9W2bVs98cQTOnHihN5++23VqVNHW7ZscTvq8e+//6pJkyZq166dHnvsMeXMmVPR0dFq3ry5li9frnbt2unpp5/WuXPntHTpUv3xxx8qUqSIJKlnz56aNWuWunTpor59+2rv3r165513tGXLFv38888KCAhw3mfXrl1q06aNunXrpk6dOmnGjBnq3LmzKleurNKlS6tOnTrq27ev3nrrLb3wwgsqWbKkJDn/z5o1SxkyZFD//v2VIUMGrVixQsOGDVN4eLheffVV532mTJmi3r17q3bt2urXr5/27dunli1bKnPmzMqbN68zXkxMjB544AGtXr1aPXr0UMmSJfX7779r4sSJ+vvvv//zWqDYz3333XdrzJgxOnbsmN588039/PPPThu/+OKLKlGihKZNm+acchfbdrcyf99880098MAD6tChgy5fvqzPPvtMDz/8sL755hs1a9ZMkvTRRx/piSeeUNWqVdWjRw9J8vjeH330kTp16qTGjRtr3LhxunjxoqZMmaJ77rlHW7ZscTuNLTo6Wo0bN1a1atU0YcIELVu2TK+99pqKFCmiJ598UtmzZ9eUKVP05JNP6qGHHnJCTbly5SRJrVu31p9//qk+ffqoYMGCOn78uJYuXaoDBw7c8HS5e+65Ry6XSz/99JMznVWrVsnPz0+rV692xjtx4oT++usv9e7d+7rT+a/lTPrvZfVGChQoIEn68MMPNWTIEI8dLCxbtkxNmjRR4cKFNWLECF26dElvv/22atWqpc2bNzvtcPjwYVWtWlVnzpxRjx49FBYWpkOHDmnevHm6ePHiDU/Jmzt3ri5evKgnn3xSWbNm1YYNG/T222/rn3/+0dy5c29Y1816/PHHtWTJEi1dulTFixeXlLBlqmfPnjp8+LCWLl2qjz76KN50E7OO2bFjh9q3b6+ePXuqe/fuKlGihPPcmDFjFBwcrOeff167du3S22+/rYCAAPn5+en06dMaMWKE1q1bp1mzZqlQoUIaNmzYf37mPn36KHPmzBo+fLj27dunN954Q71793Y72pbQ9ZYknT59Wvfff79atWqltm3bat68eRo0aJDKli2rJk2aqGTJkho1apSGDRumHj16qHbt2pKkmjVr6vLly2rcuLEiIyPVp08f5cqVS4cOHdI333yjM2fOKDQ0NHEzFEhtDECKMnPmTJNky5YtsxMnTtjBgwfts88+s6xZs1pwcLD9888/tm/fPvP397fRo0e7vfb333+3NGnSuA2vW7euSbKpU6e6jTtjxgyTZK+//nq8GmJiYszMbNWqVSbJPvnkE7fnFy1aFG94gQIFTJL99NNPzrDjx49bYGCgDRgwwBk2d+5ck2Q//PBDvPe9ePFivGE9e/a0dOnSWUREhJmZRUZGWtasWe3uu++2qKgoZ7xZs2aZJKtbt64z7KOPPjI/Pz9btWqV2zSnTp1qkuznn3+O936xLl++bDly5LAyZcrYpUuXnOHffPONSbJhw4Y5w2Ln2caNG284vWvH9TR/r9cWly9ftjJlyti9997rNjx9+vTWqVOnG77P3r17zczs3LlzlilTJuvevbvbeEePHrXQ0FC34Z06dTJJNmrUKLdxK1asaJUrV3YenzhxwiTZ8OHD3cY7ffq0SbJXX331P9vjWqVLl7a2bds6jytVqmQPP/ywSbLt27ebmdmXX35pkuzXX391xitQoIBbO3hazhK6rF7PxYsXrUSJEibJChQoYJ07d7bp06fbsWPH4o1boUIFy5Ejh/3777/OsF9//dX8/PysY8eOzrCOHTuan5/fdZef2O/iDz/8EO/zXO/7MmbMGHO5XLZ//35n2PDhwy0hmwudOnWy9OnT3/D5LVu2mCTr16+fmSVumerVq9d1a7iZdcyiRYvcxo1tmzJlytjly5ed4e3btzeXy2VNmjRxG79GjRpWoEABt2HXLj+x358GDRo488DMrF+/fubv729nzpxxhiVkvWX2f+viDz/80BkWGRlpuXLlstatWzvDNm7caJJs5syZbtOMbf+5c+fGez8A/43T84AUqkGDBsqePbvy5cundu3aKUOGDJo/f77uuusuffnll4qJiVHbtm118uRJ51+uXLlUrFgx/fDDD27TCgwMVJcuXdyGffHFF8qWLZv69OkT771j957PnTtXoaGhatiwodv7VK5cWRkyZIj3PqVKlXL2jEpS9uzZVaJECe3ZsydBnznutQnnzp3TyZMnVbt2bV28eFF//fWXJGnTpk36999/1b17d6VJ838H2zt06KDMmTO7TW/u3LkqWbKkwsLC3OqPPRXu2vrj2rRpk44fP66nnnrK7VqSZs2aKSwsTN9++22CPtONeJq/17bF6dOndfbsWdWuXVubN2++qfdbunSpzpw5o/bt27u1hb+/v6pVq3bdtvjf//7n9rh27doJmpfBwcFKmzatfvzxx3inWP2X2rVra9WqVZKuLgO//vqrevTooWzZsjnDV61apUyZMqlMmTKJmnZcN7usBgcHa/369XruueckXT3K0K1bN+XOnVt9+vRxTvs6cuSItm7dqs6dOytLlizO68uVK6eGDRvqu+++k3T1aOiCBQvUokUL5xq3uDwdyYq7jFy4cEEnT55UzZo1ZWbasmVLAlohcTJkyCDp6nyRbm6ZulZi1zGFChVS48aNrzutjh07uh2VqlatmsxMXbt2dRuvWrVqOnjwoK5cufKf9fXo0cNtHtSuXVvR0dHav3+/Mywh661YGTJkcLtmLG3atKpatWqCvlexR5IWL16sixcv/uf4ANxxeh6QQk2aNEnFixdXmjRplDNnTpUoUcLp3Wnnzp0yMxUrVuy6r4274SBJd911V7xTfHbv3q0SJUq4BY9r7dy5U2fPnlWOHDmu+3xsBwix8ufPH2+czJkzJ3jD+c8//9SQIUO0YsUKhYeHuz0Xe85+7MZK0aJF3Z5PkyZNvNO+du7cqe3btzvX3vxX/XHFvk/c039ihYWFuZ0udjM8zV9J+uabb/Tyyy9r69atbtdf3Oz9dnbu3Cnp/66duta11+IEBQXFa7eEzsvAwECNGzdOAwYMUM6cOVW9enU1b95cHTt2VK5cuTy+tnbt2po6dap27dql3bt3y+VyqUaNGk6Y6t69u1atWqVatWrdUm9nt7KshoaGavz48Ro/frz279+v5cuXa8KECXrnnXcUGhqql19+2ePyU7JkSS1evFgXLlzQ+fPnFR4eflMB8MCBAxo2bJgWLlwYr25vXONy/vx5SVLGjBklJX6Zup7ErmMKFSp0w2ldO09jQ0a+fPniDY+JidHZs2ed02ETOs3YHTNx2zsh661YefPmjfcdzpw5s9t1fDdSqFAh9e/fX6+//ro++eQT1a5dWw888IAee+wxTs0DEoDQBKRQVatWve6eZ+nq3mmXy6Xvv//+uj2kxe4RjnWzvUvFxMQoR44c+uSTT677/LUb1Tfqrc3M/vO9zpw5o7p16yokJESjRo1SkSJFFBQUpM2bN2vQoEE3dY+YmJgYlS1bVq+//vp1n792Y+p28jR/V61apQceeEB16tTR5MmTlTt3bgUEBGjmzJmaPXv2Tb1fbPt99NFH1w0u14bnW+1575lnnlGLFi20YMECLV68WEOHDtWYMWO0YsUKVaxY8Yavu+eeeyRJP/30k/bs2aNKlSopffr0ql27tt566y2dP39eW7Zs0ejRo2+pvltZVuMqUKCAunbtqoceekiFCxfWJ598opdffvmWakuI6OhoNWzYUKdOndKgQYMUFham9OnT69ChQ+rcufMt3VPpRv744w9J/7fDIrHL1PUkdh3jaV12o3l6K/P6v16b2PXWrS53r732mjp37qyvvvpKS5YsUd++fTVmzBitW7fO7XpOAPERmoBUqEiRIjIzFSpUyLkg+2amsX79ekVFRcU7MhV3nGXLlqlWrVpJ0q2vdOMjJT/++KP+/fdfffnll6pTp44zPG5vgdL/XYi/a9cu1a9f3xl+5coV7du3z+lAILb+X3/9Vffdd1+ij9DEvs+OHTvi7UnfsWOH87w3fPHFFwoKCtLixYvdukKeOXNmvHET+rliO4jIkSNHgu8l9V/+672LFCmiAQMGaMCAAdq5c6cqVKig1157TR9//PENX5M/f37lz59fq1at0p49e5xT6OrUqaP+/ftr7ty5io6OdltGbqa2pJY5c2YVKVLECRZxl59r/fXXX8qWLZvSp0+v4OBghYSEOK9LqN9//11///23PvjgA3Xs2NEZvnTp0lv4FJ599NFHcrlcatiwoaTELVM3mh/eWMfcTgldbyXGfy27ZcuWVdmyZTVkyBCtWbNGtWrV0tSpU29LWAfuZFzTBKRCrVq1kr+/v0aOHBlvD6WZ6d9///3PabRu3VonT57UO++8E++52Gm2bdtW0dHReumll+KNc+XKFZ05cybRtadPn16S4r02dg9s3M9z+fJlTZ482W28KlWqKGvWrHrvvffcrkn45JNP4p2i1LZtWx06dEjvvfdevDouXbqkCxcu3LDOKlWqKEeOHJo6darb6XHff/+9tm/f7vRg5w3+/v5yuVxuXRbv27fvur39pU+fPkHzoXHjxgoJCdErr7yiqKioeM9f241yQsTe6+va97948aIiIiLchhUpUkQZM2ZMUFfvtWvX1ooVK7RhwwYnNFWoUEEZM2bU2LFjnS7YPbnRcnarfv31V508eTLe8P3792vbtm3O6Xi5c+dWhQoV9MEHH7jV8Mcff2jJkiVq2rSppKv3X2rZsqW+/vprbdq0Kd50b3QE4nrfFzPTm2++edOfzZOxY8dqyZIleuSRR5zTghOzTN1ofnhjHXM7JXS9lRg3aqvw8PB412GVLVtWfn5+Cb6FApCacaQJSIWKFCmil19+WYMHD3a6286YMaP27t2r+fPnq0ePHnr22Wc9TqNjx4768MMP1b9/f2fj9MKFC1q2bJmeeuopPfjgg6pbt6569uypMWPGaOvWrWrUqJECAgK0c+dOzZ07V2+++abatGmTqNorVKggf39/jRs3TmfPnlVgYKDuvfde1axZU5kzZ1anTp3Ut29fuVwuffTRR/E2GtOmTasRI0aoT58+uvfee9W2bVvt27dPs2bNUpEiRdz20j7++OP6/PPP9b///U8//PCDatWqpejoaP3111/6/PPPnfu9XE9AQIDGjRunLl26qG7dumrfvr3T5XjBggXVr1+/RH3uxGjWrJlef/113X///Xr00Ud1/PhxTZo0SUWLFo137UPlypW1bNkyvf7668qTJ48KFSqkatWqxZtmSEiIpkyZoscff1yVKlVSu3btlD17dh04cEDffvutatWqdd0A7UlwcLBKlSqlOXPmqHjx4sqSJYvKlCmjK1eu6L777lPbtm1VqlQppUmTRvPnz9exY8fUrl27/5xu7dq19cknn8jlcjmn6/n7+6tmzZpavHix6tWrd8NuuGPdaDm70bUzCbV06VINHz5cDzzwgKpXr64MGTJoz549mjFjhiIjI537VEnSq6++qiZNmqhGjRrq1q2b0+V4aGio23ivvPKKlixZorp16zpd4x85ckRz587V6tWrr3vT5LCwMBUpUkTPPvusDh06pJCQEH3xxReJ7njjWleuXHGOBEZERGj//v1auHChfvvtN9WvX1/Tpk1zxk3MMhUbcvv27avGjRvL399f7dq188o65nZK6HorMYoUKaJMmTJp6tSpypgxo9KnT69q1arp119/Ve/evfXwww+rePHiunLlij766CP5+/urdevWSfipgBTqNvfWB8DLEtN99RdffGH33HOPpU+f3tKnT29hYWHWq1cv27FjhzNO3bp1rXTp0td9/cWLF+3FF1+0QoUKWUBAgOXKlcvatGlju3fvdhtv2rRpVrlyZQsODraMGTNa2bJlbeDAgXb48GFnnAIFClizZs3ivUfdunXdugE3M3vvvfescOHC5u/v79aN8s8//2zVq1e34OBgy5Mnjw0cONAWL1583a6j33rrLStQoIAFBgZa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o0YNe++99257rSnJ/v37LSYmxszM3n//fbt48aKNHTvWWrVqZenTp7cnn3zSfvjhB/vpp58sbdq09vPPP/u44pTrjz/+sPDwcDMze/31123fvn02f/58GzBggGXKlMmaNm1qb7zxhm3atMkCAgLs888/93HFSWvVqlVWs2ZNW7VqlT3zzDOWPn16O336tJmZnTt3zt58801r2LChFShQwHr37m0ul8teeukl3xaNRNm3b5/VrFnT6tataz169DCXy2V//vmn8/yhQ4dsw4YNVqtWLWvbtq25XC7LkiWL/frrrz6s+vri/madPn3a/vnnH+fxhQsXrEuXLhYUFGTLly83M3PWs9HR0c7fsf8jeYs7r3/55RcLDw+38+fP2+eff24tW7a0HDlyWJs2bWz27NnWuXNne/zxx+3ChQs+rDj5WL58uRUuXNg2btxoZmaXL1+2EydO2DfffOOMM378eHviiSesU6dOFhUVZWZmV65c8Um9SSXud3v48OFWtmxZCwsLs1y5ctm7775rZma7du2yJk2aWIMGDWzOnDm39H6EplTqhRdesGzZstnSpUvt33//jff8xYsXbdu2bdasWTOrWLGi8wVD4v3www9WpkwZW7p0qT399NPmcrns8OHDzvOfffaZde3a1TJnzmyNGjWyLFmy2KBBgywmJuaOX6ElN5s3b7YyZcrY+PHjrVevXuZyuWz37t3O82vXrrUJEyZYrly5rFGjRpYuXTq7//777cyZMylmw2vVqlX20EMPWYECBSxz5sy2a9cuM7u6gySumTNn2tNPP22hoaFWs2ZNNk7uAAsWLHD+XrRokeXKlcuCgoJsyZIlZhZ/HkdERNiGDRts+PDhljVrVmcjI7msd+J+50aOHGnVq1e3rFmzWrNmzeyDDz6w6Ohoi4iIsM6dO1twcLCtWLHC4zSQfMWdTy+88IKVL1/e5syZ4xak5s+fb0OHDrX06dNbcHCw5cqVywnRccdLjRYsWGD58+e36Oho27Ztm7344otWpEgRy5Ahg9WqVcsZ7/Lly87fKWm77uWXX7bs2bPbkiVL7Pz589aqVSvLlCmTs7No586d1qxZMytfvrwtW7bspt+H0JQKbdmyxcLCwmz16tVmdnXv3bZt2+ytt96yLVu2mJnZrFmzrGnTpla7dm3nS5ZcfkjvFPv37zezqyupBg0aWJ48eSwkJMQ2bdpkZu7tefnyZdu1a5f17NnTypcvb7ly5bIzZ874pO6U7rnnnrOcOXNa+vTpne9A3B8Ss6s7DSZOnGitW7e2gIAAZw/8nboB1rFjRxsxYoTzeNCgQeZyuaxKlSrOHnqzq8vktZ9x69atFhwcbLNmzbpt9SLx3n33XatRo4azLK9fv97CwsKsUqVK1rBhQztw4ICZ/d9659r5PGjQICtSpIhFRkbe3sKv49raRo4caVmzZrX33nvP5s6da/fff7/VqFHDxo4dazExMRYeHm7du3c3l8tlv/zyi4+qRlJ46aWXLEeOHLZ06VI7deqUmcUPRLt377YJEyZY8eLFrVu3br4o06eu9zv0+++/W7ly5ax06dKWM2dO69atm02fPt3+/vtvS5MmjX355Zf/OY07xbVh78KFC3b//fc7Z03Nnz/fMmfObJMnTzaz//t9/+OPP6x///63FLAJTanQzp07rWDBgrZw4UL79ddf7cknn7TixYtbsWLFzM/Pz/744w/bv3+/ffXVV84PbEraI3E7dO7c2UaNGuV8WV999VULDAy0kiVL2nfffefs8Y1t39gvcVRUlO3fv9+qVq1qQ4YMuaNXbMlNbFvPnj3bsmfPbiVLlrTx48c7R1pjn792o7Jly5bWqlWrO/Y7cOHCBZs9e7ZbMFy5cqXNnj3bHn74YatXr57bKRxm//fZY9viiSeesP/973+3r2gk2pEjR5z5tXXrVjMzO3XqlC1cuNDq1atn9957rxOcYp07d875e/PmzVahQgXbu3fvbav5euIehY+JibHDhw9b5cqV7ZNPPnGGnz592p555hmrUqWKrVq1yszMjh07ZmPGjLljv6epXUxMjB0/ftzuvvtumzFjRrznrnX58mWbPHmy3XPPPU64Sg3ibvAfOHDAdu7c6WxPbNy40YYNG2bz58932uT48eNWrVo1++mnn3xSb1KrU6eOjR8/3m3YkSNHLGfOnPbXX3/Zjz/+aBkyZLApU6aY2dUdoC+++GK89drNHgQgNKVw10vUR48etVatWllYWJgFBQXZU089ZfPmzbOzZ89ahQoV7NVXX3UbnyNMiffFF184G6kXLlywnTt32u+//27333+/Va5c2b744ovr7tGNjo626Oho+9///mePPfbY7S47Rbr2O3Dw4EE7ePCgPffcc1axYkUbNWrUdX90Y1/39ttvW6NGjVLE6R/vvvuu23K1YsUKa9mypdWrV8++++47Z/gnn3zi1iaNGze2tm3bpog2SGkGDx7sFohXrFhhLpfLJk2a5Az7/PPPrV69etawYUM7ePCgmV3dsfPZZ5854wwcONAyZsxoJ06cuH3FX+PJJ5+0QYMGuQ07c+aMlShRwqZOnWpm//d7dOnSJStWrJg9++yz8aZDcLoz7d+/37Jly2Y//vijmbmvuy9fvhwv9P/111+WNWvWZHktnjfEDY8vvviiVapUyYKDg61evXo2cuRIt3EjIyPt6NGj1qJFC6tevXqK2Y5bsWKFExLjLh+PP/64NW7c2NKlS+cWug8dOmS1a9e2Dz/80Mxu/QgbveelYHF7FFm+fLlmzpypr776Si6XS7NmzdLEiRO1ZMkSvf3222rdurUCAwMVEBCgrFmzuk3nTrh3R3Jh/7+nplatWikgIEBTp05Vt27dFBUVpTJlymjevHnKnDmzRo8ere+//97pwWXIkCGSrvaCE9tL2e7duxUREUHvT7cg7ndg7dq1+umnn7Rr1y7lzZtX48eP13333acFCxZo6tSpCg8PlyT16tVLe/bscV63b98+7dy5U+fPn/fZ57hZcXsIOnjwoE6dOqUtW7aoe/fukqT69evr6aefVpYsWfTyyy9r4sSJat68uYYOHarQ0FBJ0q5du7Rnzx4NHDgwxXRPm1Ls3r1bb731lu677z7n9gWFCxfWoEGDNGTIEE2ZMkWS9PDDD6tXr16Kjo5W9erVVbduXS1btkytW7d2ppU3b14tX75c2bJl88lnka7ebPell16SJJ09e1bS1XVq+vTpnd79/Pz8FB0draCgINWsWdPpQjmuNGnS3L6ikWRy5cql9OnT65tvvpH0f/NakjZs2KCFCxe6rYdXrFghM4u3zZJSxfYU+Morr2jKlCkaOnSoPv30U1WvXl0fffSRevTo4Yz76aefqn379jp27Jh++ukn+fv73xE3r/YkJiZG9evXV2BgoMaOHasnnnjC6d22Zs2a+uuvv3TfffepS5cukqRz587piSeekL+/vx599FFJSdA76C1FLtwRnnvuOStcuLBVqVLFGjZsaPny5bP169c7z1+6dMl27dplTZs2tcqVK7OX7hbE3YsRHh5uc+bMsTJlytiTTz5pv/32m5ldPVzcqFEjq1Spkj3//PPWpEkTCw0NdfYEbd++3e677z7bvHmzTz5DShF3z9rgwYOtaNGiVq5cOcuSJYs98sgjduzYMTMzGzBggFWpUsVatmxp9913n2XLls35Dhw5csSeeOIJ5zq0O0ncZfGpp56yJ5980vbt22dvv/22lStXzrp27eo8v2rVKuvevbuVLVvWmjRp4nbk4vLly1xfl4xt2rTJihUrZrVq1XKW24MHD9qLL75oGTNmdM7rNzNbs2aNjR492p577jln3OSwvr927++MGTOsWbNmTicly5Yts4CAABs6dKjbqcxVq1a1wYMH3/Z6cWtudMT6ypUrNmrUKCtXrpy9+eabzvCoqCjnaHfc3hHHjRvn/K6mFqdPn7aGDRu6fa/PnDljM2bMsOLFi9v06dMtOjravvrqK3vzzTeT1ff8VsRdZnbv3m3ffPON+fn5Wb9+/Zznn332WStXrpxVqFDB2rRpY9WqVbPy5csn6XX5hKYUbsaMGZYzZ05bu3atmZlNnDjRXC6X043ylStXbPLkyda0aVO755576PThFsT94e/evbsVLVrUzMzee+89q1ixovXs2dNZwV+6dMm6dOlizZs3twceeCBeRwRspN68a7trnzhxomXPnt02bNhgZle7XXW5XM61EGZmEyZMsCeeeMIef/xxZ17Ezs9Lly7dpsq9Y9++fVa2bFlbuXKlmV29juWtt96y8uXLuwWnM2fO2L///ut87jv9RzYlq1Onjn377bfO402bNlnhwoWtZs2a/xmc4kou6/lrN6JnzJhh1atXtw4dOjjBadasWebv72/169e3li1bWp06daxUqVIsp3eYuPP6/ffft2effdY6dOjg7CTcv3+/9e7d2woXLmzNmze3nj17Ws2aNa1MmTLOujk1nSZ87Q6FS5cuWYkSJeKdxnru3Dlr2rSp9ezZM97rksv3PCkMGjTI7r//fgsPD7cFCxZY2rRprXfv3mZ2dbn4+uuvrX///ta3b197/fXXkzw0EppSmGtXJv369XPO+Z4/f75lyJDBpk2bZmZXv2Rnz561Xbt22WeffUanD0lk165d9tBDD7l1fztt2rR4wenKlSsWHh7utpFKxw+3pm7duvb444+7LcOdO3e2N954w8yuXtuRKVMmZyPy/Pnzznhx2z6lfAdGjx5tHTp0sK5du7oF8/DwcHvrrbesQoUK1r1793ivS00bJXeiiRMnxus+/EbBaciQIZYpUyZ77bXXfFHqf1q6dKkdOnTIzK5eVzV06FAzu7qzqXbt2ta+fXvbt2+fmV3t+bV3797WrVs3GzRoUIrZi54aDRo0yPLkyWMdOnSwNm3aWMaMGe2DDz4wM7MTJ07YvHnz7P7777d27drZgAEDUuW8jrse3rdvn3N/wa5du1qrVq3cbpdhdnV7r2nTpvF2wqYUa9assWrVqrmdKTV//ny34HQ9SRkaCU0pSNyNvlWrVll4eLj179/fXnnlFVu4cKFbjyLR0dE2a9YsmzhxotsXMyXtkfCFDz74wCpVqmQNGjSwc+fOuXX2MG3aNKtcubI9+eSTTu9WsQhLt+6dd96xPHnyOD+qJ06csJiYGCtVqpR98MEH9vPPP7t9B6KiouzZZ5+9Yc9xd6K43+Xo6GgbOXKk+fv7W5UqVeL1DhgeHm5vv/225c6d28aOHeuTenFrRo8ebdOnT3ce3yg49enTxxo0aJDslu1z585ZwYIFrXLlytatWzcLCQlxu6h/2rRpds8991j79u1t586dZhZ/o5nfrDvP9OnTLV++fM7RpdWrV5vL5bIMGTLY5MmT4+0QiJWa5nXcdfmwYcOsSZMmtnTpUjO7eu/HzJkzW+/evW3btm1mdnUHYJ06daxPnz4+qdcb4rbB1KlTrUuXLtahQweLiYlx/pldDU6BgYHWr18/r58ZQmhKIeIuXAMHDrSSJUva3r17bcyYMZYrVy63jUWzq13RNmrUyIYPH+6DalOO2HaPjo62yMhIGz9+vJUpU8YKFCjgjBP3B+D999+3vHnzxusyE7du0qRJVrNmTTt58qQ999xzNnr0aDMzGzdunFWpUsUCAwPdetU5deqUNWzYMEXOi9ge0C5cuGBvvvmm+fn5ufWKGbvcnjlzxubOnZuqNkZSktgbNM+ePdsZFhuc4l7jdOzYMWcDI7kFp4iICMuYMaOlT5/eFi9ebGbuG8fTpk2zOnXqWIcOHezvv//2VZlIIufPn7c333zTOeNlwYIFFhISYrNnz7YBAwZYhgwZbMaMGamqG3FPhgwZYjly5LAvv/zSuQ7XzOzbb7+1PHnyWLVq1ax69epWo0YNK1OmjPOdT27f88SKW/+hQ4ds4MCB5nK5rHjx4k4PoHHH++qrr8zlcjlnlXgLoSmFOXLkiLVt29btjscPPvighYSE2OrVq23//v22e/dua9y4sVWpUiVVHer2ptjTR86ePWvvvvuu5c6d2x5++GHnCx33iFPc+18h6fz666+WO3duq1Spkvn5+Tl3Al+6dKlVq1bNatWqZX/88YeZXb0XTNOmTa1GjRopbl68//77dtddd9nvv/9uZlc3SseOHWsul8vefvttZ7xrP3dKa4eU5kanTA4aNMgCAgLc7mO0adMmK168uBUvXtxtvia3DakrV67Y3r17LTQ01PLly2c1a9Z0bgoe9/O+9957Vrx4cXby3YGut8xt3brVDh48aHv27LEyZco4G7pbt261gIAAc7lcNn/+/NtcafKzbds2K1GihNvtIGJiYpzv9JYtW+y9996zPn362IQJE1LMKYxxv/v/+9//rFSpUhYdHW1jxoyxLFmy2PDhw+3o0aPOOLHL2E8//eT1z05ousPFXbimTJli2bNnt8qVKzunMphdPQ2nbt26lj9/fsuUKZNVr17datasSacPSeSbb74xl8vlHDoPDw+3SZMmWYUKFaxjx47OF/raUw5o96QT28b333+/+fn5WYsWLeyff/5xnv/www/tnnvusdy5c1u5cuWsUqVKdvfdd6fI78DZs2etdOnSVqFCBSckRkZG2tixY83Pz8/t/j248+zdu9e2b9/utjE6YMCAeMFpzZo19vDDDye7Zft64e/SpUt26tQpK168uFWrVi3e/XjMzJYvX57sPgsS7v3333euV4u1YsUKq1ChgnOK2aZNm2zIkCE2adKkO37DPyls3LjRcufO7bY9FysiIuK6p6KlpO/I8ePH7dFHH7Xly5c7w4YMGWL58+e3cePGuR15i8ubyw6hKYU4f/687d2716pVq2b+/v7O3Z/j/rD+8MMP9uWXX9qaNWvcum3FrTl48KB16tTJgoKCnCN8Z8+etUmTJlmlSpWsc+fOyW4Pb0p06dIl69mzp7377ruWLVs2e+yxx5wfY7OrR6LmzZtnr776qn355ZcpouOTazdAY5ez8PBwK1++vJUtW9YtOI0bN85cLpfNmzfvtteKxJswYYLTe5zZ1dtHFCtWzAIDA+3ee++1l156yXluwIABljZtWrdT9WIllw2puMvr9u3b7bfffrN///3XGXbgwAErUaKE1axZ03bv3m0RERH28MMPu11zl1w+CxIuPDzcevToYWXLlnU7Hfqzzz6ztGnT2nfffWfbtm2zZs2aud18+05eNyeF3377zdKkSeMcaYqOjna+QytWrLCFCxe6ncWSkrz77ruWL18+q127th09etRtWXjxxRetQIEC9uqrr9qRI0dua12EpjvUsmXLbNasWWZ29bz2AQMGmNnVH50yZcpYpUqVnL11Nzqtgx6yEu/a8BP7+NChQ9a1a1dLkyaNW3CaPHmy3XXXXW4bN0ganpbfFStWWJYsWezxxx93C07XSikbYLNnz3ZOV4gbnMqVK2flypVzglNERIR99NFHqX5j5E6wa9cuc7lc9sgjj9jhw4dt1qxZljdvXps3b54tWbLEevToYVWqVLFevXo5rxk0aJC5XC5bsmSJDyu/vrjrzmHDhlnRokWtUKFCljVrVps3b56dPXvWzK7uhAoLC7PcuXNb+fLlrUSJEim2N7CU6nrr5v3799uzzz5rFStWdAvB7dq1M5fLZQUKFLCKFSsyr/+/mJgYu3DhgrVr185q1qzp7Ag3uxom77vvPnv66ad9V6AXRUdH29y5c61y5cqWI0cOp9fAuEfWhg4damnTpnU7un47EJruQKdPn7a2bdta9erVrXnz5pY+fXq3G7wdOHDAwsLCrFq1am4XzCHpvPnmm07PP3GDU5cuXSwgIMC5J87p06ftiy++SDEb58lF3B/lxYsX2xdffGFz5sxxG+eHH36wLFmyWMeOHe2vv/663SV6VdyL+k+ePGnBwcFWr149O378uNvzhw8ftly5clnDhg3j3SyZ4JR8xXaF/8svv1iGDBmsS5cuNmrUKHvrrbeccc6ePWsTJkywihUrum04TJ48OdnN27jrvxEjRlju3Lnt22+/tcjISGvZsqXlyJHDJk+e7GwcRUVF2SuvvGJvvPFGirlOIzW69sazBw4csP79+8cLTosXL7aVK1emiKP/SW3RokX2wAMPWIkSJWzs2LE2fvx4u++++6xs2bIppp2udybOxYsX7euvv7b8+fNbnTp1nOFxL3N49913b/u2FaHpDrV3714rVaqUuVwup5cws//7cTpw4ICVLFnSatas6XRSgJsX90t98uRJq1u3rmXPnt252D72+d27d1vp0qXdeoKKRXBKGnHnxfPPP28FChSwcuXKWa5cueyhhx6yo0ePOuOsXLnScuTIYc2aNXMuML/TxQ2Msb3kbdu2zQoVKmQNGjRwgpPZ/13P6HK57PHHH7/ttSLx2rdvbwsWLHDWFxs3brR06dKZy+Wy5557zm3ciIgIq127tttNimMlhw2quBewm13diK5Xr55zY96FCxdapkyZrEGDBubv729TpkyxkydPxpsO6847z1dffWWlSpWymTNnug3ft2+fdezY0fLly2dvvvlmvNcxr6+K+zu3fv16e/HFFy1fvnxWr149e+yxx5wjcsnhe34r4v6e7d27144cOeL8hsUGp2LFilmjRo2c8a69lut2LjOEpjtI3IXr0KFD9tBDD1mTJk2sTp06zql6Zv/3JTpw4IBlyZLFnnjiidtea0oSt91jOxfYvn27tWrVyvLkyRNvb9ojjzzinItrlvx6rEopxo8fb7ly5bINGzaY2dU97C6Xy5o0aWKHDx92xluyZIk1adIkRZyOGvczjBs3zh555BHnnl9//fWX5cuXzxo0aOBcIHvlyhXr2bOn7dy5k42RO8Tzzz/vXKdw8eJFM7saNkJDQ61KlSq2bds2t3XKoEGDrGHDhje8t42vTJ482YoUKWLvvPOOM2zPnj32/vvv25UrV2zlypWWO3dup2OSpk2bWs6cOW3ChAl24cIFX5WNm3Tt+nXDhg3Wrl27eNsnZlfvIxkaGmrZs2eP9xz+z7XbDufOnUtRN2GPu8y89NJLVqFCBStRooRVqlTJ1q5da2ZXA9LChQutRIkSdv/99/uqVAeh6Q4Rd+H69ttvnXsY/P333/boo49arVq14q18Lly4YMeOHWNj6RbEbfdRo0ZZu3btnOsFfv31V2vZsqXlyZPH6d46IiLC2rdvb0uXLiUseVFs5xuxHRosWLDAQkNDbcSIEZYvXz5r2rSp/fPPP/HmQUoITmZXN5Rz5Mhhs2fPdusoYPv27ZY/f34rU6aMPfXUU1a3bl2rWLGi87lZFyRf1y6bkydPtsmTJ9vp06fNzGzz5s2WLl06e/DBB23Tpk125coVCw8Pt2rVqlmnTp1uf8H/YefOnda9e3erWbOm22mFsUdHO3XqZD169LCoqCiLjo62bt26WfHixa127dqsO+8wcefXu+++62yfbNmyxTp06BBv+2TDhg32yCOP2LRp01gnJVBMTEy8m5enFHHvRbV27Vq77777LEOGDM621qVLl+ybb76xTJky2TPPPOPTWglNd4C4K6QXXnjB2TsXe4jyt99+sw4dOljt2rXt/fffNzOzhg0b2ogRI5zXsWK6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tIceesjKlStnmTJlstKlS1vJkiWd1y1btswaNmxou3fv9mH1t8/u3bvtrrvusqJFi1pISIjT66vZ1e6zK1asaMWKFbOXXnrJpk+fbo0aNbLy5cu7bcfFxMS49aZ5p4n9fv/+++9Or4qPP/642zhXrlyxDh06WIsWLeK9PjnuUCE0+djixYstLCzMHnvsMdu/f7+ZJWxBOXXqlK1bty7V90KTlL755hurWLGimV09lJ4hQwYnMJ05c+a63Xzyo5804i7zgwcPtkyZMln16tUtW7Zs1qFDB1uzZo3z/Llz52zDhg3WpEmTFHMNz/WWo+nTp1v58uVtwYIFFhIS4nbaxqeffmqPPfZYirwPVWrw3HPPWbZs2WzevHm2b9++eM9fvnzZTp06Zc2bN7datWolu/VM3Hq+//57+/nnn83sanfpVapUsY4dOzrXsJiZ/fHHH1a0aNF4oQnJX9x5/cEHH9hdd91l69atMzOzt956ywIDA+3LL780s6vr5t9//90mT55sn3zyidu6OSYmxgnTqUXHjh2dewbGnqoX257R0dHWpUsXq1mzplWsWNHatGnjtgM8OQaGmxH7ef/++28rV66clShRIl7vf6+99prdfffdFh4e7osSE4XQlAxMmzbN6tSpY48++qjzA/pfX5i4zye3H9Q7wfXabOvWrVa7dm177bXXLGPGjG5HmFauXGktWrSwv//++3aWmeps2rTJWrdu7XS5/OWXX1rdunWtVatWzobZvHnzrHXr1inmKOu1G6CxAfHo0aNWp04dc7lcNmHCBGecixcvWosWLaxjx44p5oc1NZk/f77lz5/ftmzZ4gw7d+6cbdy40cyu7gCbOXOm1atXz6pUqZLs7vt27W0AihUr5vTqd+XKFXvnnXesVq1a9sADD9jWrVttzZo11qxZs2QZ/nBjixYtitepzsCBA50L9+fOnWshISE2ZcoUMzMLDw93dvzGdSevm2/VsmXLbOHChVa0aFGrU6eOHTlyxMzM7R6a0dHRduLEiRR95krs93779u1WqlQpa9y4sX355ZcWFRVlx48ft9q1a7tdu5mcEZp86NreUWrXrp2g4BT3dRs2bGDDKZGu7Rp3zZo1duHCBTtw4IDVr1/f0qZNa0OHDnXGiT1fu127drS1F33wwQfWokULa968uVs3xAsWLLC6deta69atbevWrXblyhVbs2ZNijjKer0N0FmzZjkboO+++65VqFDBWrZsaRs2bLAvv/zS7r//frfrGFkm7yzvv/++c0T7r7/+sjFjxljRokUta9aszqkrn376qY0ePTpZ329v9OjRljNnTvvpp5/c6ouOjrbPP//catasaf7+/la6dGmrU6dOsgt/uLGJEydasWLFbMqUKW6hp3fv3vb666/bmjVrLEOGDE5gio6Otvfff9+mTp0a75YQqVXc9fLff/9thQoVsjp16rh1Kf7+++/H67U3pYr9nLHXOIWGhlq1atXsoYcestq1a98xNzsmNPlY3BXS1KlT/zM4xX08adIkc7lcTheV+G9x2+/555+33Llzu9375JtvvrH8+fNbmzZtbPLkyTZ79my777773DZS+dFPGte242uvvWYFChSwu+66K961S1999ZXVr1/f6tSp43bxbEqZF542QD/++GO75557LDg42KpWrWqtWrVKEUfYUoPrbQB88803FhYWZvfdd58VKlTIHn/8cZswYYJ99dVX5nK5bPPmzW7LQHKYx+PGjXO7P93x48etevXqNnPmTDO7elreDz/8YE8++aSNGzfOGW/jxo22e/fuFLGDIzU5efKkdejQwWrWrGmTJk1ylsH33nvPXC6X+fn52Zw5c5zxw8PDrUGDBjZ48GBflZzs7dy50woXLmzVq1e3hQsXWuPGja1y5cop5jcsIWI/644dO6xSpUqWM2dOmz9//h21fiA0+YCnL8nkyZNvGJyuvdFZlixZ7sheVZKDsWPHWo4cOWzDhg1uh8rNzJYsWWKPPPKIZcmSxe69915r3769M86d8KW+08Sedmd29WhTyZIlrWvXrvE6Ovjss8+sV69eKe5HJqEboNu2baMDkjtI3OV0165dtm3bNjt69KjFxMTYnDlzrFu3bvbxxx/bP//8Y2ZXjzrdfffd8XYY+Nr69eutatWqbuHt/PnzVq9ePevfv7998cUX1qZNG6tZs6bVrVvXsmfPbr169TIzTiO/E0VERJjZ1TMsOnToYPXr17fJkyc7879Pnz4WFBRkP/74ox0+fNj+/vtvJwCwTvLsn3/+sXLlyln58uVT7dHX2M/622+/Wfv27d2u8boTuMzMhNsmJiZGfn5+kqR58+bpjz/+UPbs2VWuXDnVrl1bkjRlyhR9+umnyp8/v1555RXlz59fV65cUZo0aSRJ7777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\n",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Limit dataframe to boolean fields\n",
    "df = sdoh_df[['financial_stress','housing_insecurity','neighborhood_unsafety','food_insecurity','transportation_inaccessibility','social_isolation','health_insurance_inadequacy','skipped_care_due_to_cost','language_barrier']]\n",
    "\n",
    "# Calculate the percentage of 'True' values for each boolean field\n",
    "percentages = df.mean() * 100  # df.mean() computes the mean for each column, 'True' is treated as 1, 'False' as 0\n",
    "\n",
    "# Plotting\n",
    "plt.figure(figsize=(10, 6))\n",
    "percentages.plot(kind='bar')\n",
    "plt.title('Percentage of Patients with Social Determinants')\n",
    "plt.ylabel('% of Patient Population')\n",
    "plt.xlabel('Social Determinant')\n",
    "plt.xticks(rotation=45)\n",
    "plt.grid(axis='y')\n",
    "\n",
    "# Display the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c2ab9531-f8e6-4fe0-a8f8-962446eeaf08",
   "metadata": {},
   "source": [
    "### Loading to a Database"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8bf4c71-f864-4707-9788-0b0917ba2049",
   "metadata": {},
   "source": [
    "Finally, we will use [SQLAlchemy](https://pypi.org/project/SQLAlchemy/) to load the results to our database - in this case, a BigQuery dataset called ```clinical```. In a real production environment, we could use a tool like [Airflow](https://airflow.apache.org/) to orchestrate the scheduling of this script and process any new notes from recent appointments. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "6846b38e-873e-451d-8762-24b5d88d3596",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 6034.97it/s]\n"
     ]
    }
   ],
   "source": [
    "# Append results to a pre-existing BigQuery table\n",
    "client = bigquery.Client()\n",
    "sdoh_df.to_gbq('clinical.social_determinants',client.project,credentials=client._credentials,if_exists='append')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b0b1f47f-e0bf-4459-b2a8-76b5b213dc19",
   "metadata": {},
   "source": [
    "### Conclusion"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7419eade-2599-46de-9a7c-4e1ba1a01e02",
   "metadata": {},
   "source": [
    "In this notebook, we've used Llama3 with Groq API's JSON mode to extract social determinants of health from and structure them in a relational table, then loaded the results into BigQuery where they can be combined and analyzed with the rest of our patient data. With our social determinants of health now structured in our clinical data warehouse, our analytics team can use it in countless ways by delivering much-needed SDOH insights and enhancing risk models. This allows the clinical practice to not just identify high-risk patients in their population, but to implement more targeted interventions by better understanding their barriers to care.\n",
    "\n",
    "More broadly, we've shown how to use Groq to build an LLM-infused data pipeline, one that transforms unstructured text data into structured, relational data that can reside in a warehouse. And with Groq's low latency, the ability to process more files per minute makes for a more efficient pipeline."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
